package net.csdn.business.common.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import net.csdn.business.common.constant.CommonConstants;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @ClassName WebhookConfigVO
 * @Description webhook配置信息对象VO
 * @Author zhangyl
 * @Date 2023/4/23 16:37
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class WebhookConfigVO extends SuperVO
{

    /** 组织或项目的ID */
    private String fromId;

    /** webhook通知url */
    private String notifyUrl;

    /**加密通知url的iv偏移量**/
    @JsonIgnore
    private String encryptUrlIv;

    /** 加密密钥 */
    @JsonIgnore
    private String secret;

    /** 是否设置secret：true：已设置 false：未设置 */
    private Boolean isSetSecret=false;

    /** 加密secret的iv偏移量 */
    @JsonIgnore
    private String encryptSecretIv;

    /** 是否启用ssl验证：1：启用 0：未启用 */
    private Boolean enableSslVeri;

    /** 是否激活：1：激活 0：未激活 */
    private Boolean isActive;

    /** 请求体类型：1：application/json 2：application/x-www-form-urlencoded */
    private Integer reqBodyType;

    /** 主体类型：1：组织 2：项目 */
    private Integer type;

    /** webhook触发的事件 */
    private List<String> events;

    /** 最近一次的通知响应信息，当为null时候，证明还没进行过通知 */
    private Map<String,Object> lastDelivery;

}
